AWS Backupを使用して EC2 スナップショットからEC2 インスタンスを復元する方法
こんにちは、クラスメソッドタイランドのPOPです。
このブログはタイ語のブログから日本語に翻訳したものです。
วิธี Restore จาก Snapshot EC2 ด้วย AWS Backup | DevelopersIO
こんにちは、今回はAWS Backupで作成したEC2 スナップショットから EC2 インスタンスを復元する方法を紹介します。
AWS Backup
AWS Backupは、AWS上のデータやアプリケーションを自動的にバックアップするためのサービスです。複数のAWSサービスを一元管理し、バックアップ、復元、保持を簡単に行うことができます。また、ポリシーに基づいたスケジューリングで、効率的で安全なデータ保護を提供します。
バックアップの復元
EC2 インスタンスを復元して、スケジュール済みバックアップ、ライフサイクル管理、迅速な復元などの主要な機能を使用しながら、他のリソースでバックアップを一元管理できるようにします。
前提条件
EC2 インスタンスを作成
AWS Backup を使用してバックアップから EC2 スナップショットを作成するための EC2 インスタンスを作成します。
EC2インスタンスの作成方法については、以下のリンクを参照してください。
EC2 インスタンスを作成した後、需要に応じて AWS Backup を使用してバックアップから EC2 スナップショットを作成します。
バックアップ方法は次の見出しに以下から選択してください。今回は「オンデマンドバックアップ」の方法をやります。
・オンデマンドバックアップ
・バックアッププラン
AWS Backup
オンデマンドでデータバックアップする
このリンクの例を参照してください。
バックアッププランで定期的にバックアップする
このリンクの例を参照してください。
保護されたリソースの確認
バックアップ日と翌日に保護されたリソースを確認します。
バックアップボールトの画面から「リソース ID」をコピーします。
左側のメニューから「保護されたリソース」を選択します。
コピーしたリソース ID を検索ボックスに貼り付け、Enter を押して、「リソース ID」をクリックします。
「復旧ポイント」セクションを確認すると、作成したイメージが表示されていることがわかります。
バックアップを復元する
注意点
・復元をした際は、元のEC2インスタンスに紐づいていた Elastic IP は削除された状態になります。
・Route53とCloudFrontの設定も失われるので、使えるように再度設定をする必要があります。
・キーペアは同じものを使用するように設定されます。
・セキュリティグループはデフォルトとなります。別のものを使用するか、リセットするかを選択できます。
・インスタンスタイプを元のEC2インスタンスから別のタイプに変更できます。
復元は2つの方法で実行できます。
1. 保護されたリソースからの復元
「保護されたリソースの確認」の手順で保護されたリソースの「リソースの詳細」画面に移動します。
「復旧ポイント ID」を選択し、「復元」をクリックします。
2. ボールトの復旧ポイントから復元
AWS Backupサービス画面に移動し、左側のメニューから「ボールト」を選択します。
「このアカウントが所有するボールト」タブでボールト名を見つけてクリックします。
復元したい「復旧ポイント ID」をクリックします。
この「ami-xxxx - EC2」画面に移動後に、「復元」をクリックします。
復元を設定する
方法「1. 保護されたリソースからの復元」または「2. ボールトの復旧ポイントから復元」を行っても、この「バックアップを復元」画面に移動されます。
次に「復元」をクリックします。
「ネットワーク設定」の部分は元の EC2 インスタンスと同じですが、「注意点」の部分で説明したようにいくつかの設定が解除されます。
ただし、任意に応じて再度設定を変更することもできますが、今回は設定変更せず進めます。
次に、「ロールを復元」の部分は「デフォルトのロール」を選択し、「バックアップを復元」をクリックします。
「バックアップを復元」をクリックすると、自動的にこの画面に移動します。
次に、ステータスを確認します。復元中は「保留中 → 実行中 → 完了」の順にステータスが変化し、ます。バックアップにかかる時間はプロジェクトの規模によって異なります。「完了」と表示されるまで少々お待ちください。
EC2 Instance の確認
EC2 サービスで「インスタンス」画面を開くと、前の手順でバックアップを復元した後にインスタンスが作成されたことがわかります。
名前を変更する場合は、復元した EC2 インスタンスの名前にマウスカーソルを置くと、編集アイコンが表示されます。編集アイコンをクリックし、好きな名前を入力してから、チェックマーク(✓)をクリックして名前を保存します。
「インスタンス ID」をクリックします。
復元したインスタンスには元のインスタンスと同じ情報が含まれますが、Elastic IP には関連付けられていません。
この画面は元の EC2 インスタンスであり、Elastic IP には関連付けられています。
PuTTY で EC2 Instance にファイルを確認する
元の EC2 Instance
PuTTY で EC2 インスタンスに接続し、以下のコマンドを実行して元の EC2 インスタンスのデータを確認します。
ll /var/www/html
「test.php」という名前のファイルがあることがわかります。
Output
[ec2-user@ip-172-31-46-186 ~]$ ll /var/www/html
total 4
-rw-r--r--. 1 root root 17 Nov 8 10:35 test.php
[ec2-user@ip-172-31-46-186 ~]$
復元した EC2 Instance
PuTTY の上部バーを右クリックし、「New Session...」を選択します。
EC2 インスタンス画面を開き、復元したインスタンスの画面にある「パブリック IPv4 アドレス」をコピーします。
次に、復元した EC2 インスタンスのために PuTTy Configurationを次のように設定します。
① 元のEC2 インスタンスの「Saved Sessions」をクリックします。今回は「pop-ec2」です。
② 元のEC2 インスタンスの設定情報が表示されるように「Load」をクリックします。
③ インスタンスの画面からコピーした「パブリック IPv4 アドレス」を「Host Name」フィールドに入力します。
④ 「Saved Sessions」フィールドに復元した EC2 インスタンスのために一意の名前を入力します。今回は「pop-ec2-backup」です。
次のように復元した EC2 インスタンスに接続します。
① 「Save」をクリックします。(この部分には、復元した EC2 インスタンスの「Saved Sessions」と「Host Name」を保存します。ただし、以前の設定は、同じキーペアを含めて元の EC2 インスタンスと同じになります。)
② 復元したEC2インスタンスの「Saved Sessions」を選択します。
③ 「Open」をクリックします。
「Accept」をクリックします。
以下のコマンドを実行して復元した EC2 インスタンスのデータを確認します。
ll /var/www/html
元の EC2 インスタンスと同様に 3 つのファイルがあることがわかります。
Output
[ec2-user@ip-172-31-34-6 ~]$ ll /var/www/html
total 4
-rw-r--r--. 1 root root 17 Nov 8 10:35 test.php
[ec2-user@ip-172-31-34-6 ~]$
まとめ
AWS Backup で作成した EC2 スナップショットから EC2 インスタンスを復元すると、ウェブサイトをスムーズに中断なく実行し続けることができます。
この記事がどなたかのお役に立てば幸いです。
以上、クラスメソッドタイランドのPOP(Tinnakorn Maneewong)でしたっ!
関連記事
・Amazon Linux 2023 を EC2 に作成し、PuTTY でサーバーに接続する方法 | DevelopersIO
・AWS Backup を使用して Amazon EC2 をオンデマンドでバックアップする方法 | DevelopersIO
・AWS Backup を使用して Amazon EC2 を定期的にバックアップする方法 | DevelopersIO